import {utilConfig} from './utils/config'
import request from './utils/request'
import moment from 'moment';
import hasPermission from './utils/hasPermission';
App({
  onLaunch() {
    // 浅拷贝
   const PageFn = Page
  //  重定义page函数
  Page = function (config){
    // 给page添加reques
    config.$request = request
    config.$moment= moment;
    // 浅拷贝
    const showFn = config.onShow
    config.onShow = function(){
      // 针对黑名单实现权限检测，如果出现在utilConfig中的都是需要检测权限,this.route可以获取到当前页面的路径
      const result = utilConfig.checkPermission.includes(this.route)
      if(result){
        // 调用函数检测是否登录，根据返回值判断是否登录，没有登录后面不执行了
        const flag = hasPermission()
        if(!flag)return
      }
      // 调用原本的show函数，并且将this指向当前实例
      showFn&&showFn.call(this);
    }
    return PageFn(config)
  }
  },
  globalData: {
    userInfo: null
  }
})
